Currently, large sets of data are often handled by breaking the set into several pages, a process known as pagination. The controls used to navigate these subsets allow a user to page through the data as a function of an equal percentage of total pages. For example, if there are 2000 total data items and 20 data items can fit on each page, the data items will be divided into 100 pages. When the user navigates to a page, a new view is determined by skipping 20 data items for each previous page of data. This division is arbitrary.
Further, when the user sorts the set of data items (e.g., using an interface where the data can be sorted on column headers), the user now has a context in which to look for information: sorting by name would indicate a preference to find information alphabetically, sorting by price would indicate a preference for finding information by price, and sorting by time would indicate a preference for searching by temporal means. However, the pagination process remains based upon equal divisions of the length of the list, and the control mechanism only allows navigation by page number.